Verifiable Programming Model for Concurrent Object - Oriented Programs
نویسندگان
چکیده
Proefschrift voorgedragen tot het behalen van het doctoraat in de ingenieurswetenschappen door Bart JACOBS Alle rechten voorbehouden. Niets uit deze uitgave mag worden vermenigvuldigd en/of openbaar gemaakt worden door middel van druk, fotocopie, microfilm, elektronisch of op welke andere wijze ook zonder voorafgaande schriftelijke toe-stemming van de uitgever. All rights reserved. No part of the publication may be reproduced in any form by print, photoprint, microfilm or any other means without written permission from the publisher. Acknowledgements This work would not have been possible without the support of several people, all of whom I would like to thank here. The following enumeration is likely to be incomplete, for which I apologize. First and foremost, I would like to express my gratitude to my supervisor, Prof. Frank Piessens. One could not wish for a better PhD supervisor. His guidance and support, his enthusiasm, and his qualities as a scientist have all been both extraordinary and instrumental. I am greatly looking forward to continuing my research under his guidance. Also instrumental have been my two internships with the Spec# team at Mi-for the fun, instructive, and fruitful time I had, and for their continuing kindness, encouragement, and scientific example and collaboration. Further thanks go to the other members of Dr. Schulte's group for their kindness, and the other researchers, engineers, and interns which I had the pleasure of working with, especially Dr. I have enjoyed greatly the friendship and collaboration of my fellow PhD students at the Department. I especially thank Jan Smans, who has been a great colleague and co-author, and my other great former or current office-mates Bart Vanoverberghe, as well as Marko Van Dooren for kindly offering to proofread papers and for our many fascinating discussions. Further thanks go to the Professors , esp. Prof. Pierre Verbaeten and Prof. Wouter Joosen, and the excellent administrative staff, esp. Esther Renson. Thanks further go to the other researchers and students worldwide who enlightened , inspired, or otherwise helped me. I would especially like to thank Prof. (Belgium) for funding my research. Last but not least, I would like to express my deepest gratitude to my family and friends, and especially my parents and my sister and her partner, for their love and support. Abstract Computers and computer programs play an increasingly important role in almost every area of human activity. However, failures in computer systems caused by program errors are common. …
منابع مشابه
A Statically Verifiable Programming Model for Concurrent Object-Oriented Programs
Reasoning about multithreaded object-oriented programs is difficult, due to the non-local nature of object aliasing, data races, and deadlocks. We propose a programming model that prevents data races and deadlocks, and supports local reasoning in the presence of object aliasing and concurrency. Our programming model builds on the multithreading and synchronization primitives as they are present...
متن کاملDeclarative Concurrent Object-oriented Programming in Tempo++
This paper presents Tempo++, a high-level programming language designed for concurrent object-oriented applications. It is based on a new programming model combining logic programming, constraint solving and object-oriented programming in a uniform framework. Tempo++ is an object-oriented extension to the declarative concurrent programming language Tempo Gregory and Ramirez 95]. It includes ext...
متن کاملOn Concurrent Execution of Object{oriented Programs
In this paper, we introduce object{oriented programs as sets of communicating objects. We investigate possibilities for their concurrent execution, starting with a review of existing concurrent, object{oriented systems. Most of these systems introduce new programming{language features, forcing a programmer to control concurrency by hand. In contrast, we prefer automatic parallelization of progr...
متن کاملAn Overview of Slicing Techniques for Object-Oriented Programs
This paper surveys the existing slicing techniques for object-oriented programs. Many commercial objectoriented programs are concurrent in nature. Concurrency is typically implemented in the form of multithreading or message passing using sockets or both. We therefore review the available techniques in slicing of concurrent object-oriented programs. Another trend that is clearly visible in obje...
متن کاملVeriCool: An Automatic Verifier for a Concurrent Object-Oriented Language
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for data abstraction and framing. Reasoning about concurrent object-oriented programs is even harder, since in general interference by other threads has to be taken into account at each program point. In this paper, we propose an approach to the automatic verification of concurrent Java-like programs...
متن کاملSupport for Extensibility and Re-usability in CYES-C++
1. Introduction: There is significant interest in concurrent programming due to widespread availability of parallel and distributed systems. The design and implementation of concurrent programs for the parallel and distributed systems has proven to be extremely difficult. Concurrent programs are difficult to design, implement, and maintain because changes in a concurrent program (through additi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007